#ifndef __CARIOU_LINARD_SPHERE_HH__
#define __CARIOU_LINARD_SPHERE_HH__

#include "solidobject.h"

class Sphere : public SolidObject
{
    protected:

        double size;

    public:

        Sphere();
        virtual ~Sphere();
        Sphere(const Sphere &);
        virtual Sphere& operator=(const Sphere &);
        Sphere(const Point3D &, const double &, const Color &);

        inline void   setSize(const double &_size) { size = _size; }
        inline double getSize() const { return size; }

        virtual void texturing(const Intersection &);
        virtual void intersection(const Ray &,Intersection &) const;
        virtual void getNormalVectorAt(const Point3D &, Vector3D &) const;
};

#endif
